# Author: Kuilin

# 回顾

# names_str = "Alex,Marry,Jack"
# names_list = ["ALex","Marry","Jack"]

# print(names_str[0:4]) # 字符串，无法确定名字长度；用切片的复杂操作
# print(names_list[0]) # 用index索引的操作

# 本周重点：list的方法
# 对于一个序列数据，可以怎么操作
# 1.取值：切片
# 2.增加/新增数据
# 3.删除

names = ["Mike","Marry","Jan","Jack"]
# 方法1：
# append() 括号内的内容是对象（比较大的范围，python中的一切皆是对象）
# append() 新增在尾部
names.append("Amy")
names.append("Tom")
print(names)

# 方法2：
# insert() 指定位置新增数据
names.insert(2,"Amy") # 列表出现重复值
print(names)

# 方法3：
# remove() 的操作应该先做查询，判断value是否存在
names.remove("Jan")
print(names)

# 先做查询：seq的一般方法
print("Kuilin" in names)
username = input("names:")
if username in names:
    # 删掉该用户
    names.remove(username)
else:
    names.append(username)
print(names)
names.remove("Amy")
print(names)


# 方法4：
# pop() 在使用pop() 之前，要先了解list的长度
print(names)
names.pop(2)
print(names)
names.pop(100) # 删除长度过长，超出长度位置
print(names)

# 要先了解list的长度？ seq 一般方法 len()
print(len(names))
print(names)
names.pop(2)
print(names)

# 清楚删除的索引位置
# print(names.index("Jan"))

# 案例：删除一些具有特征的索引值
# for i in range(0,len(names)-1,2):
    # names.pop(i)
# print(names)